unsigned BKDRHash(char *str){
	unsigned seed=131;
	unsigned hash=0;
	while(*str){
		hash=hash*seed+(*str++);
	}
	return(hash);
}

unsigned ELFHash(char *str){
	unsigned hash=0;
	unsigned x=0;
	while(*str){
		hash=(hash<<4)+(*str++);
		if((x=hash&0xF0000000L)!=0){
			hash^=(x>>24);
			hash&=~x;
		}
	}
	return(hash);
}
